

#ifndef __DITHERRGB_H
#define __DITHERRGB_H

//#include "colorTableHighBit.h"

class DitherRGB {

	int flipSize;
	unsigned char* flipSpace;

public:
	DitherRGB();
	~DitherRGB();

	// Note: this methods swaps the image
	// itsself
	void ditherRGBImage(unsigned char* dest,unsigned char* src,
		int depth,int width,int height,int offset);
	void ditherRGBImage_x2(unsigned char* dest,unsigned char* src,
		int depth,int width,int height,int offset);
private:
	int getDepth(int pixel);
	// depth is here in byte!
	void ditherRGB1Byte_x2(unsigned char* dest,unsigned char* src,
		int depth,int width,int height,int offset);
	void ditherRGB2Byte_x2(unsigned char* dest,unsigned char* src,
		int depth,int width,int height,int offset);
	void ditherRGB4Byte_x2(unsigned char* dest,unsigned char* src,
		int depth,int width,int height,int offset);

};

#endif
